home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-MIPS / MMAN.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  2KB  |  64 lines

  1. /*
  2.  * Linux/MIPS memory manager definitions
  3.  *
  4.  * This file is subject to the terms and conditions of the GNU General Public
  5.  * License.  See the file "COPYING" in the main directory of this archive
  6.  * for more details.
  7.  *
  8.  * Copyright (C) 1995 by Ralf Baechle
  9.  */
  10. #ifndef __ASM_MIPS_MMAN_H
  11. #define __ASM_MIPS_MMAN_H
  12.  
  13. /*
  14.  * Protections are chosen from these bits, OR'd together.  The
  15.  * implementation does not necessarily support PROT_EXEC or PROT_WRITE
  16.  * without PROT_READ.  The only guarantees are that no writing will be
  17.  * allowed without PROT_WRITE and no access will be allowed for PROT_NONE.
  18.  */
  19. #define PROT_NONE    0x0        /* page can not be accessed */
  20. #define PROT_READ    0x1        /* page can be read */
  21. #define PROT_WRITE    0x2        /* page can be written */
  22. #define PROT_EXEC    0x4        /* page can be executed */
  23.  
  24. /*
  25.  * Flags for mmap
  26.  */
  27. #define MAP_SHARED    0x001        /* Share changes */
  28. #define MAP_PRIVATE    0x002        /* Changes are private */
  29. #define MAP_TYPE    0x00f        /* Mask for type of mapping */
  30. #define MAP_FIXED    0x010        /* Interpret addr exactly */
  31.  
  32. /* not used by linux, but here to make sure we don't clash with ABI defines */
  33. #define MAP_RENAME    0x020        /* Assign page to file */
  34. #define MAP_AUTOGROW    0x040        /* File may grow by writing */
  35. #define MAP_LOCAL    0x080        /* Copy on fork/sproc */
  36. #define MAP_AUTORSRV    0x100        /* Logical swap reserved on demand */
  37.  
  38. /* These are linux-specific */
  39. #define MAP_NORESERVE    0x0400        /* don't check for reservations */
  40. #define MAP_ANONYMOUS    0x0800        /* don't use a file */
  41. #define MAP_GROWSDOWN    0x1000        /* stack-like segment */
  42. #define MAP_DENYWRITE    0x2000        /* ETXTBSY */
  43. #define MAP_EXECUTABLE    0x4000        /* mark it as an executable */
  44. #define MAP_LOCKED    0x8000        /* pages are locked */
  45.  
  46. /*
  47.  * Flags for msync
  48.  */
  49. #define MS_SYNC        0        /* synchronous memory sync */
  50. #define MS_ASYNC    1        /* sync memory asynchronously */
  51. #define MS_INVALIDATE    2        /* invalidate mappings & caches */
  52.  
  53. /*
  54.  * Flags for mlockall
  55.  */
  56. #define MCL_CURRENT    1        /* lock all current mappings */
  57. #define MCL_FUTURE    2        /* lock all future mappings */
  58.  
  59. /* compatibility flags */
  60. #define MAP_ANON       MAP_ANONYMOUS
  61. #define MAP_FILE       0
  62.  
  63. #endif /* __ASM_MIPS_MMAN_H */
  64.